The development of the Internet technology brings about convenience to human work and life, and meanwhile, the concept of providing various services based on the Internet becomes popular with the increasing improvement of the Internet transmission efficiency. For example, so far there has been proposed the concept of Infrastructure as a Service (IaaS), i.e., a service that ordinary users (e.g., including individuals or companies or other entities) can obtain via the Internet computer infrastructure meeting their own demands. In addition, there have been further proposed the concept of Platform as a Service (PaaS) and the concept of Software as a Service (SaaS), so users can obtain via the Internet services from professional platform providers or software providers.
These service providers can customize and provide services according to users' specific demands, so that users can obtain various professional services (e.g., including infrastructure, platform and software) via the Internet. However, ordinary users (e.g., hospitals, shops, etc.) desiring to construct IT infrastructure (e.g., a datacenter) might lack expertise in hardware configuration and other aspect. As a result, although there are various service providers on the Internet, these ordinary users might not be aware of their own demands for hardware and software, let alone learn which service provider or providers are applied to for what kinds of computing resources while constructing IT infrastructure.
As restricted by their own knowledge, users have to turn to professional technicians for help while constructing IT infrastructure. On the one hand, this brings about to users huge overheads of manpower, material resources and time; on the other hand, professional technicians need to customize a solution for each user, and the reusability of these solutions is rather bad. Therefore, it has become a focus of attention as to how to provide appropriate IT infrastructure to a user where the user's demand is not quite clear.